home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / p_man / cat3 / complib / csysv.z / csysv
Text File  |  1998-10-30  |  5KB  |  133 lines

  1.  
  2.  
  3.  
  4. CCCCSSSSYYYYSSSSVVVV((((3333FFFF))))                                                            CCCCSSSSYYYYSSSSVVVV((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      CSYSV - compute the solution to a complex system of linear equations  A *
  10.      X = B,
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE CSYSV( UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO
  14.                        )
  15.  
  16.          CHARACTER     UPLO
  17.  
  18.          INTEGER       INFO, LDA, LDB, LWORK, N, NRHS
  19.  
  20.          INTEGER       IPIV( * )
  21.  
  22.          COMPLEX       A( LDA, * ), B( LDB, * ), WORK( LWORK )
  23.  
  24. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  25.      CSYSV computes the solution to a complex system of linear equations
  26.         A * X = B, where A is an N-by-N symmetric matrix and X and B are N-
  27.      by-NRHS matrices.
  28.  
  29.      The diagonal pivoting method is used to factor A as
  30.         A = U * D * U**T,  if UPLO = 'U', or
  31.         A = L * D * L**T,  if UPLO = 'L',
  32.      where U (or L) is a product of permutation and unit upper (lower)
  33.      triangular matrices, and D is symmetric and block diagonal with 1-by-1
  34.      and 2-by-2 diagonal blocks.  The factored form of A is then used to solve
  35.      the system of equations A * X = B.
  36.  
  37.  
  38. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  39.      UPLO    (input) CHARACTER*1
  40.              = 'U':  Upper triangle of A is stored;
  41.              = 'L':  Lower triangle of A is stored.
  42.  
  43.      N       (input) INTEGER
  44.              The number of linear equations, i.e., the order of the matrix A.
  45.              N >= 0.
  46.  
  47.      NRHS    (input) INTEGER
  48.              The number of right hand sides, i.e., the number of columns of
  49.              the matrix B.  NRHS >= 0.
  50.  
  51.      A       (input/output) COMPLEX array, dimension (LDA,N)
  52.              On entry, the symmetric matrix A.  If UPLO = 'U', the leading N-
  53.              by-N upper triangular part of A contains the upper triangular
  54.              part of the matrix A, and the strictly lower triangular part of A
  55.              is not referenced.  If UPLO = 'L', the leading N-by-N lower
  56.              triangular part of A contains the lower triangular part of the
  57.              matrix A, and the strictly upper triangular part of A is not
  58.              referenced.
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. CCCCSSSSYYYYSSSSVVVV((((3333FFFF))))                                                            CCCCSSSSYYYYSSSSVVVV((((3333FFFF))))
  71.  
  72.  
  73.  
  74.              On exit, if INFO = 0, the block diagonal matrix D and the
  75.              multipliers used to obtain the factor U or L from the
  76.              factorization A = U*D*U**T or A = L*D*L**T as computed by CSYTRF.
  77.  
  78.      LDA     (input) INTEGER
  79.              The leading dimension of the array A.  LDA >= max(1,N).
  80.  
  81.      IPIV    (output) INTEGER array, dimension (N)
  82.              Details of the interchanges and the block structure of D, as
  83.              determined by CSYTRF.  If IPIV(k) > 0, then rows and columns k
  84.              and IPIV(k) were interchanged, and D(k,k) is a 1-by-1 diagonal
  85.              block.  If UPLO = 'U' and IPIV(k) = IPIV(k-1) < 0, then rows and
  86.              columns k-1 and -IPIV(k) were interchanged and D(k-1:k,k-1:k) is
  87.              a 2-by-2 diagonal block.  If UPLO = 'L' and IPIV(k) = IPIV(k+1) <
  88.              0, then rows and columns k+1 and -IPIV(k) were interchanged and
  89.              D(k:k+1,k:k+1) is a 2-by-2 diagonal block.
  90.  
  91.      B       (input/output) COMPLEX array, dimension (LDB,NRHS)
  92.              On entry, the N-by-NRHS right hand side matrix B.  On exit, if
  93.              INFO = 0, the N-by-NRHS solution matrix X.
  94.  
  95.      LDB     (input) INTEGER
  96.              The leading dimension of the array B.  LDB >= max(1,N).
  97.  
  98.      WORK    (workspace/output) COMPLEX array, dimension (LWORK)
  99.              On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
  100.  
  101.      LWORK   (input) INTEGER
  102.              The length of WORK.  LWORK >= 1, and for best performance LWORK
  103.              >= N*NB, where NB is the optimal blocksize for CSYTRF.
  104.  
  105.      INFO    (output) INTEGER
  106.              = 0: successful exit
  107.              < 0: if INFO = -i, the i-th argument had an illegal value
  108.              > 0: if INFO = i, D(i,i) is exactly zero.  The factorization has
  109.              been completed, but the block diagonal matrix D is exactly
  110.              singular, so the solution could not be computed.
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.